/************************* 版权声明 *********************************
 * 
 * 版权所有：Apache License 2.0
 * 
 ************************* 版本声明 *********************************
 *@since jdk1.5
 *@version 0.1
 ************************* 变更记录 *********************************
 *
 * 创建者：bijiqiang Email:bijiqiang@gmail.com   创建日期： 2010-1-4
 * 创建记录：创建类结构。
 * 
 * 修改者：       修改日期：
 * 修改记录：
 *
 * 修改者：       修改日期：
 * 修改记录：
 * ……
 ************************* To  Do *********************************
 *
 * 1、实现所有未实现的方法（抛出UnsupportedOperationException的方法）。
 * 
 ************************* 随   笔 *********************************
 *
 * 
 * 
 ******************************************************************
 */

package com.realgodo.site.service.application;

import org.hibernate.Criteria;
import org.hibernate.SessionFactory;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
import org.springframework.transaction.annotation.Transactional;
import org.springside.modules.orm.Page;
import org.springside.modules.orm.hibernate.DefaultEntityManager;

import com.realgodo.site.entity.application.show.ShowCatalog;

@Service("showCatalogManager")
@Transactional
public class ShowCatalogManager extends DefaultEntityManager<ShowCatalog, Long> {

	@Autowired
	protected SessionFactory sessionFactory;
	@Autowired
	private ShowManager showManager;

	public Page<ShowCatalog> findShowCatalogs(Page<ShowCatalog> showCatalogPage) {
		Criteria c = sessionFactory.getCurrentSession().createCriteria(
				ShowCatalog.class);
		showCatalogPage = this.entityDao.findByCriteria(showCatalogPage, c);

		if (showCatalogPage.getResult().size() != 0) {
			for (ShowCatalog showCatalog : showCatalogPage.getResult()) {
				showCatalog.setCount(this.showManager
						.getViedosCountByCatalog(showCatalog.getId()));
			}
		}
		return showCatalogPage;
	}

}
